This disclosure relates generally to allocating storage for virtual machines and, more specifically, to systems and methods for selecting available blocks from physical disks for allocation to virtual disks based on a location of the available blocks on the physical disks.
Some known computing systems execute the large scale processing of data-sets on clusters of commodity hardware using tools such as Apache Hadoop® (The Apache Software Foundation Corp., a Delaware corporation). These types of tools break up a large processing problem into multiple smaller units of work. The tool distributes these units of work to multiple servers in a cluster (“worker nodes”), thereby distributing a computing burden to multiple processing engines. Such computationally intensive tasks may include high processing demands and/or high input/output (I/O) processing demands.
Tools like Apache Hadoop® may be implemented on a physical server cluster directly or on a virtual server cluster. A virtual server cluster may include one or more physical servers executing a hypervisor and multiple virtual machines (“VMs”), each executing their own guest operating system and applications. A virtual server cluster may use one or more rotational disk drives to support operations, such as storing operating system and application data. Further, the virtual server cluster and its VMs may be used to process I/O intensive tasks by leveraging the VMs as worker nodes. Accordingly, the rotational disk drives may be subjected to high I/O processing demands during operation.